﻿using Microsoft.Office.Interop.PowerPoint;
using PowerVSharp.Standard.Interfaces;
using PowerVSharp.Standard.Interfaces.IO;
using System;
using System.Runtime.InteropServices;

namespace PowerVSharp.Standard
{
    ///<summary>实际的PowerV环境实例。</summary>
    [ComVisible(false)]
    internal class PowerVEnv : IPowerVEnvironment
    {
        private Lazy<Math> _math = new Lazy<Math>();
        public IMath Math => _math.Value;

        private Lazy<IO.IO> _io = new Lazy<IO.IO>();
        public IIO IO => _io.Value;

        private Lazy<PowerVSharp.Standard.String> _string = new Lazy<PowerVSharp.Standard.String>();
        public IString String => _string.Value;

        private Lazy<PowerVSharp.Standard.Array> _array = new Lazy<PowerVSharp.Standard.Array>();
        public IArray Array => _array.Value;

        public void Dispose()
        {
            throw new NotImplementedException();
     
        }
    }
}
